Advances in consumer electronics have resulted in a variety of mobile devices such as mobile phones, cellular phones, smartphones, tablet computers, laptop computers, media players, personal activity tracking devices, smartwatches, etc. These devices are, increasingly, multi-sensory (e.g., capable of sensing location, orientation, motion, ambient light levels, ambient sound, user heartbeat, etc.) and multi-functional (e.g., capable of supporting functions such as cellular telephony, VOIP, playing audio and video, capturing still images, recording video, playing video games, GPS navigation, web surfing, downloading of streaming media from the Internet, Bluetooth and WiFi communications, emailing, text messaging, tracking a user's physical activity, etc.).
Another current trend in mobile computing relates to the notion of contextual or “context-aware” computing as a means of enabling or otherwise enhancing the functionality supported by a user's mobile device. Contextual computing requires the gathering of contextual information, including information describing computing context (e.g., network connectivity, memory availability, processor type, CPU contention, etc.), user context (e.g., user profile, location, utterances, gestures or other actions, preferences, nearby friends, social network(s) and situation, etc.), physical context (e.g., lighting, noise level, traffic, etc.), temporal context (e.g., time of day, day, month, season, etc.), history of the above, or the like or any combination thereof. In many cases, such contextual information is gathered from one or more physical sensors, logical sensors, or combinations thereof. Examples of physical and logical sensors are described in U.S. Pat. No. 8,762,852, which is incorporated herein by reference in its entirety. Beyond gathering, the contextual information must be processed—preferably accurately, quickly and reliably—before context can be discerned and acted upon in a meaningful manner.
While mobile devices are becoming more powerful in terms of processing and sensory capabilities, constraints on mobile computing resources (e.g., battery power, wireless network communications capacity, CPU processing speed, memory, etc.) continue to place practical limits on the functionality that may be realized with mobile devices.